Method and apparatus for monitoring telephonic members and providing directory assistance

ABSTRACT

Telephone users desiring directory assistance services are connected via standard telephone procedures to a directory assistance provider, such as an operator. An operator provides the destination number and initiates a connection to that number. Once that connection is initiated, the connection is monitored for the occurrence of a predetermined condition, such as a busy signal. If no such condition is detected, the caller proceeds with the call in the normal manner. If, however, such a condition is detected, the caller is automatically transferred to a directory assistance provider for further help.

This application is a continuation of application Ser. No. 08/816,921,filed on Mar. 13, 1997.

BACKGROUND OF THE INVENTION

1. Technical Field

The present invention relates to a system for providing directoryassistance services to telephone users in a telephone network and, inparticular, maintaining a connection to a directory assistance platformand providing for automatic reconnection to a directory assistanceprovider.

2. Discussion of the Related Art

Telephone calls from one party to another are made through telephonenetworks, with telephone switches and private branch exchanges (“PBX”)employed as necessary in order to connect networks and customers.Customers frequently make use of directory assistance systems to reachtheir desired parties. When using a directory assistance system(sometimes referred to as a “directory assistance platform”), a callerfirst dials the appropriate telephone number or access code. Telephoneusers usually access a directory assistance system through a carrierswitching center. Once connected to a directory assistance provider,such as a live operator or a voice server, the caller identifies theparty whose telephone number is desired. The correct number is locatedand may be reported to (by voice or computer-generated speech), and/ordialed for, the caller. It is increasingly common for directoryassistance systems to connect the caller to the caller's desired numberin addition to, or in place of, simply providing the number to thecaller. This is particularly helpful to callers using cellular or otherforms of wireless telephones, who may be engaged in other activities atthe same time and therefore unable to take note of the number as it isrecited. Typically, once the caller has been given the number and/or thenumber is dialed for the caller, the caller's connection through thedirectory assistance platform is terminated.

Termination of the connection through the directory assistance platformhas a number of disadvantages. For example, if the caller is given orconnected to an incorrect telephone number, the caller must contact thedirectory assistance system again or inquire elsewhere to obtain thecorrect number. This naturally requires additional action and expense onthe caller's part. Moreover, reconnection to the directory assistanceplatform requires reallocation of directory assistance resources to thecustomer call. In view of the previous connection through the directoryassistance platform, reconnection and reallocation is unnecessary, timeconsuming, and under some circumstances, wasteful. Similarly, even ifthe telephone number to which the caller is connected is correct, theline may be busy, there may be no answer, the destination party'stelephone network may be inoperable, etc. In such circumstances, thecaller often will want to contact a different party, again requiring theaid of the directory assistance system. Requiring separate and repeatedconnections to a directory assistance platform incurs added monetaryexpense on the caller's part, because directory assistance platformstypically charge a fee for each separate connection. Conversely, if acaller's connection is maintained to the directory assistance platform,multiple actions may be taken to assist the caller without necessarilyincurring such additional fees.

It is known in the art to provide proactive call services to callingand/or called parties. As demonstrated in U.S. Pat. No. 5,414,754,proactive call services allow parties to, for example, establish aconference call to a third party, leave recorded messages for anunavailable called party, or instruct a telephone service provider torepeatedly attempt to connect to an unavailable party for apre-determined period of time after an unsuccessful call attempt. Mostproactive call services are provided only when a call has beensuccessfully established between two (or more) parties. For such callservices, one of the parties requests the service by entering aspecified access code. Other proactive call services are available onlywhen a call is unsuccessful (e.g., the caller encounters a busy signalor a ring-no-answer condition); to access these services, the caller isprompted to select one from a menu. Both methods suffer the disadvantageof requiring affirmative action by one or more parties in order toaccess the services.

Prior art directory assistance systems suffer from a furtherdisadvantage in that they typically lack dedicated resources formonitoring telephone connections to calling or called parties. Forexample, in U.S. Patent No. 5,414,754, one tone detecting devicemonitors up to 1,344 connections by using a multiplexer. The period oftime for which each connection is monitored is critical to this methodof operation. To service so many connections on an equal time-sharingbasis, the device cannot monitor one particular connection for more thana very short period of time (illustratively, on the order ofmilliseconds) before switching to and monitoring others. If the timeperiod is too short, this method has the deleterious effect of requiringa party to press a key for an extended period of time—long enough toensure that the monitoring digital signal processor (“DSP”), perhaps adual-tone multi-frequency (“DTMF”) receiver, cycles back to the party'sconnection in time to detect the keypress—or risk the possibility thatthe DSP will miss the party's keypress. Another disadvantage to thismethod is that normal voice energy, or transient signals such as frominterference or crosstalk, may cause a DSP that is monitoring theconnection to mistakenly report that a party pressed a key. Thisdisadvantage is even more pronounced in a wireless environment, wherethe bit error rate or degraded audio quality of the connection oftenprecludes the receipt of a continuous tone.

Another disadvantage in prior directory assistance systems is theinability to restrict the caller's use of the directory assistancesystem to connect to specified parties. For example, the party payingfor a caller's wireless telephone service may wish to restrict thecaller from making any long-distance calls, or to limit the caller tocalls to other parties within one organization, etc. Without the abilityto limit the caller's connections through the directory assistancesystem, the caller could circumvent the paying party's restrictions byhaving the directory assistance system complete the call for him or her.

Accordingly, there is a need in the art to provide a method andapparatus by which a caller can, for the duration of a telephone call(i.e., until the calling telephone disconnects from the directoryassistance platform), maintain his or her connection to the directoryassistance platform and repeatedly receive directory assistance in avariety of forms with minimal or no action on his or her part. There isalso a need in the art for means and an apparatus for allocating amonitoring resource, such as a DSP, to a minimal number of telephonicconnections. In addition, there is a need for means and an apparatus forverifying a caller's authorization to connect to a requested destinationparty through a directory assistance platform.

SUMMARY OF THE INVENTION

In view of the above disadvantages of the related art, it is an objectof the present invention to provide a method and apparatus formaintaining a telephonic connection for the duration of a telephone callthrough a directory assistance platform (i.e., until the callingtelephone disconnects from the platform) and automatically reconnectinga directory assistance-routed caller to a directory assistance provider.

It is a further object of the present invention to detect, during a callto a customer's destination party, a telephone network communicationproblem that causes the call to be unsuccessful, and to connect thecaller, with substantially no further action on his or her part, to alive operator for further assistance.

It is another object of the invention to detect a ring-no-answercondition while attempting a call to a customer's destination party,and, upon such detection, to maintain the connection attempt and presentthe caller with a menu of directory assistance service options,including the option to continue monitoring the ring tone.

It is a further object of the invention to detect a busy signal whileattempting a call to a customer's destination party, and, upon suchdetection, to terminate the connection attempt and present the callerwith a menu of directory assistance service options, including theoption to re-dial the same number.

It is also an object of the invention to provide a method and apparatusfor providing directory assistance services, such as connectingcustomers to directory assistance providers, allowing repeated directoryassistance requests from each customer, searching for information tosatisfy directory assistance requests, providing such information tocustomers, and connecting customers to their desired destinationparties, as well as enhanced directory assistance services, e.g.,recording messages from customers for delivery to destination partiesand allowing destination parties, upon delivery of a recorded message,to return the customer's call with minimal action by the destinationparty.

It is a further object of the invention to verify a customer'sauthorization to complete calls through a directory assistance system.To enable such verification, along with the customer's call, dataconcerning the calling telephone number and the location from which thecall originated is also received. Based upon the caller's identity andstored information concerning restrictions on the customer's callingauthority, the caller's authorization for connecting to desireddestination parties can then be verified.

It is a still further object of the invention to provide a directoryassistance customer with numerous opportunities to request, with minimalaction on the customer's part, the directory assistance system to reportthe desired destination telephone number.

It is also an object of the invention to provide a directory assistancecustomer with the customer's destination telephone number via thecustomer's alphanumeric pager.

It is a still further object of the invention to implement the aboveobjects for callers using wireless telephones.

In accordance with the present invention, a directory assistance systemis provided that includes a telephone switch or PBX for receiving,establishing, routing, and connecting telephone calls, plus telephoneoperators, communication links to physically connect the directoryassistance system components, and one or more computers, including atleast one voice server, to perform a variety of directory assistancefunctions (e.g., maintain and search databases containing telephonenumbers, billing information, call information, etc.; store and executeinstructions relating to the operation of the switch or PBX; provideautomated voice services and operator functions). Providing access toand from the telephone switch are external communication links thatsupport standard T1, Common Channel Signalling System 7 (“CCSS7”), orIntegrated Digital Services Network (“ISDN”) communications.

Calls into the directory assistance system and connections from thesystem to a caller's destination number are made over externalcommunication links. Telephone connections over the communication linksare monitored to detect keypresses and connection status conditions(e.g., busy signal, dial tone). For example, outbound connections todestination parties are monitored by call progress analyzers (“CPA”) todetermine if an attempted call is unsuccessful (e.g., a busy signal isdetected); once applied, CPAs are allocated to the outbound connectionfor a period of time sufficient in length (illustratively determined bya specified number of rings of the destination telephone) to determinethe success or failure of the connection attempt.

The directory assistance system does not drop its connection to, andinvolvement in, a calling party's connection as soon as it initiates anew call leg (i.e., an outbound call to a destination telephone).Rather, the directory assistance system maintains contact, ready toprovide further assistance from a directory assistance operator or avoice server until the calling party disconnects from the directoryassistance platform. By remaining in the call flow, a directoryassistance system according to this invention is able to provide muchfaster response to customers' subsequent assistance needs than washeretofore available, which is of particular value to wireless customerswho may be distracted by other events. In previous directory assistancesystems, in which the system would terminate its involvement after thecustomer was given its desired telephone number or the directoryassistance provider initiated a call attempt to the desired party, thecustomer was required to reconnect to the directory assistance system ifadditional assistance was desired.

In a directory assistance system according to the present invention,incoming directory assistance request calls are received by a telephoneswitch, which is controlled by a switch host computer, via an inboundmember of the external communication links and routed to a directoryassistance provider. The directory assistance provider may be either alive operator or a voice server that provides automated directoryassistance. The switch host computer stores and updates informationconcerning the status of each active directory assistance call. Inaddition, a call record is created on a system server to store, forbilling purposes, the history of the customer's call. After receiving arequest from the caller, the directory assistance provider locates andretrieves the telephone number of the caller's desired destination partyby searching directory assistance information stored on system servers.An outbound member of the communication links is seized in order toconnect the caller to his or her party, and the destination telephonenumber is dialed over that outbound member. A dual-tone multi-frequency(“DTMF”) receiver is applied to the inbound member to detect customerkeypresses, which may represent pre-specified directory assistancerequests. A call progress analyzer (“CPA”) is applied to the outboundmember for a period of time to monitor the member for any one of severalpre-determined telephone call connection status conditions that indicatean unsuccessful call attempt. Upon detection of such a connection statuscondition, or when the called party disconnects, the caller isredirected to a directory assistance provider for further assistance.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the presentinvention will become more readily apparent from the following detaileddescription, which should be read in conjunction with the accompanyingdrawings, in which:

FIG. 1 depicts the components of a directory assistance system accordingto the invention;

FIG. 2 provides a detailed view of a telephone switch used in oneembodiment of the invention;

FIG. 3 provides a detailed view of a voice server used in one embodimentof the invention; and

FIGS. 4A-E are flowcharts depicting one method of using the invention.

DETAILED DESCRIPTION OF THE INVENTION

The following embodiments will be described in the context of a privatetelephone switch connected via conventional T1 communication links tocustomers using wireless telephones. Those skilled in the art, however,will recognize that the disclosed methods and structures are readilyadaptable for broader applications. Note that whenever the samereference numeral is repeated with respect to different figures, itrefers to the corresponding structure in each figure.

With reference to FIG. 1, a directory assistance system 100 according toan exemplary embodiment of the invention is depicted. One or moreexternal communication links 102 connect directory assistance system 100to customers and customer telephone networks. Communication links 102connect to telephone switch 104, which is connected to switch hostcomputer 106 via switch data link 108. In an alternative embodiment,switch host computer 106 is coterminous with telephone switch 104.

Telephone switch 104 is attached via a T1 communication link to channelbank 110, and from there connects to operator channel 112 and operatortelephone 116. Operator telephones are located at each of one or moreoperator positions (represented by the numeral 114 in FIG. 1). Usingoperator data terminal 118, a live operator at operator position 114accesses one or more system servers 120, which are inter-connected viadata network 122. Switch host computer 106 is also connected to datanetwork 122. Finally, switch 104 is connected to one or more voiceservers, which are described below. Each connection to a voice serveremploys a T1 voice server link (a first voice server link 124 is shownin FIG. 1).

As stated above, communication links 102 provide telephone connectionsto directory assistance system 100 for incoming directory assistancecalls and also provide access to external telephone networks over whichoutgoing calls are placed. An incoming call is received via inboundchannel 102 a (shown in FIG. 2) and an outgoing call is placed overoutbound channel 102 b (shown in FIG. 2). There is generally oneoutbound channel 102 b for every inbound channel 102 a, so that forevery call into directory assistance system 100 there is an outboundchannel available to reach the caller's desired party or parties.Communication links 102 may, in an illustrative embodiment, be comprisedof one or more T1 communication spans which are known in the art. Insuch an embodiment, each individual call over a T1 span, whether into orout of telephone switch 104, utilizes one of the 24 individual channelsinto which a T1 span is segmented, each channel providing two-waycommunication.

Telephone switch 104 is now described in further detail with referenceto FIG. 2. Operation of telephone switch 104 is governed bycomputer-readable instructions stored and executed on switch hostcomputer 106. In one embodiment of the invention, telephone switch 104is an Excel LNX 2000 and switch data link 108 is a 38.4 kb serial link;in another embodiment, switch data link 108 is an Ethernet link.

Telephone switch 104 includes expandable central processing unit(“EXCPU”) 204 and/or matrix central processing unit (“MXCPU”) 204.EXCPU/MXCPU 204 serves as an interface for telephone switch 104 toswitch host computer 106 (via switch data link 108).

EXCPU/MXCPU 204 and other components of telephone switch 104 communicatethrough shared communication path 202, commonly called a “midplane.” Inthe currently-described embodiment, midplane 202 utilizes a timedivision multiplexing (“TDM”) method of sharing a common pathway. Thus,a plurality of data and/or voice streams can be interlaced onto thesingle path, separated by time.

Another board-level component of telephone switch 104 is multi-frequencydigital signal processor (“MFDSP”) unit 210, which includes four singlein-line memory module (“SIMM”) packagings. Each SIMM packaging iscomprised of four DSP arrays. Each DSP array is composed of multiple,illustratively sixteen, programmable DSPs. The DSPs can be programmed orreprogrammed to function as, among other things, call progress analyzers(“CPA”), call progress generators (“CPG”), multi-frequency (“MF”)receivers or transmitters, dual-tone multi-frequency (“DTMF”) receiversor transmitters, or conference units, depending upon the demand placedon directory assistance system 100 and telephone switch 104 for eachcorresponding function.

CPAs (represented by the numeral 218 in FIG. 2) are sensitive to, andcapable of identifying, telephone connection status conditions andsignals including ring tone, busy, reorder, PBX intercept, SITintercept, vacant code, reorder-SIT, no circuit LEC, reorder-carrier, nocircuit-carrier, dial tone, continuous on tone, and silence. In anexemplary embodiment of the invention, one CPA will monitor only oneoutbound channel 102 b at a time. In other embodiments of the invention,one CPA may be applied to more than one outbound channel. However, toensure that connection status conditions are properly detected, thenumber of outbound channels monitored by one CPA should be kept to aminimum (i.e., no more than four). In still other embodiments of theinvention, two or more DSPs may be applied to a single outbound channel.

CPGs (represented by the numeral 212 in FIG. 2) generate tones tocustomers connected to directory assistance system 100, such as theringback tone customers hear when they are routed to an operator.

DTMF receivers (represented by the numeral 214 in FIG. 2) listen forDTMF tones generated by customers' telephones, such as when a customerpresses a telephone button. DTMF receivers are capable of detecting andidentifying which button was pressed (i.e., the numbers 0-9 or thecharacters ‘*’ or ‘#’) and passing that information to switch hostcomputer 106 for appropriate action. DTMF receivers are assigned tomonitor inbound channels for a configurable period of time,illustratively, from the time of a caller's initial connection totelephone switch 104 to the time the caller disconnects, including theduration of all outbound call legs made on the caller's behalf. Onceapplied to an inbound channel, a DTMF receiver allows telephone switch104 to detect the press of a telephone button, perhaps done in order toactivate tone-triggered return transfer as described in pending U.S.Ser. No. 08/234,644 filed Apr. 28, 1994, which is incorporated herein byreference, or another feature of directory assistance system 100.

Conference units (represented by the numeral 216 in FIG. 2) enabletelephone switch 104 to connect two or more voice paths in a balancedmanner, thereby providing the necessary voice connections betweencalling parties, called parties, and directory assistance providers.

In the presently-described embodiment, each DSP array provides multipleinstances of the function for which it is programmed, the exact numberdepending upon the specific function. For example, each DSP arrayprogrammed to provide CPA, CPG, or DTMF receiver functions providessixteen instances of the chosen function. In other words, a DSP arrayprogrammed to provide call progress analyzer functions will containsixteen separately and independently functional and controllable CPAs. ADSP array programmed to provide conference unit functions, however,provides only four instances of such function. The programmable DSPs onMFDSP unit 210 are managed by switch host computer 106 via EXCPU/MXCPU204, which keeps track of which DSPs are available and which areallocated.

An additional board-level component of telephone switch 104 is T1interface unit 230. Switch 104 contains one or more T1 interface units;each unit provides connections to eight T1 (1.544 mb/sec) spans, each ofwhich is comprised of 24 channels, thus providing 192 64 kb voicechannels per T1 interface unit. In FIG. 2, T1 interface 230 dedicatestwelve channels on each of six of the eight spans to incoming calls andthe other twelve to outgoing calls. The seventh T1 span serves as voiceserver link 124, and the eighth functions as a link to channel bank 110and operator channel 112. Voice server link 124 and operator channel 112are used to connect directory assistance callers to a voice server or alive operator, respectively.

It will be recognized by one skilled in the art that multiple instancesof telephone switch 104 may be incorporated into a telephone network ordirectory assistance system 100 without exceeding the scope of thisinvention.

Switch host computer 106 stores and executes computer-readableinstructions for the purposes of, among others, configuring andoperating telephone switch 104 and directing the transfer of callsthrough switch 104. It also directs the playback of recorded messages tocallers connected to directory assistance system 100. Pre-recordedgreeting and closing messages played for callers are recorded in thevoice of the operator to whom the caller will be, or was, connected.Switch host computer 106 directs the playback of the appropriate messageby identifying the operator and the inbound channel 102 a the caller isconnected to and specifying the message to be played.

Further, switch host computer 106 maintains call data for each directoryassistance call connected to directory assistance system 100. The calldata stored on the host computer consists of the most recent assistancerequest received from each caller, and includes one or more of: thecalling telephone number, the date and time of the caller's connectionto directory assistance system 100, the T1 span and channel the calleris connected to, the caller's desired destination telephone number, thestatus of the caller's previous directory assistance request, whichoperator assisted the caller, etc. Additional call data is stored onsystem servers 120, as described below. The call data stored on switchhost computer 106 and system servers 120 are provided to directoryassistance providers when a caller makes multiple directory assistancerequests in one call to directory assistance system 100. By consideringthe collected call data, such as the information that was provided to acaller in a previous request, a directory assistance provider can tailorsubsequent assistance to be more effective.

Switch host computer 106 also directs the transfer of informationbetween itself and system servers 120 (via data network 122) as well asbetween system servers 120 and switch 104 and operator position 114 (viachannel bank 110 and operator channel 112).

Operator position 114 includes means by which a live operator receivescalls, determines callers' informational needs, searches for andretrieves information from system servers 120, provides information tocallers, and initiates outgoing calls. In an exemplary embodiment of theinvention, an operator at operator position 114 is provided with atelephone headset 116 for interacting with callers, and data terminal118, connected to data network 122, for interacting with system servers120.

System servers 120, which are interconnected via data network 122,include one or more data servers 120 a which provide and manage dataservices within directory assistance system 100. Data servers 120 amaintain databases containing telephone and business directories,billing information, and other information in computer-readable form tobe searched by operators in response to callers' requests. As introducedabove, data servers 120 a also store call data for later retrieval bydirectory assistance providers furnishing subsequent assistance to acaller. The call data stored on data servers 120 a illustrativelyinclude how and where a directory assistance provider searched forinformation to satisfy a customer request, the information retrieved bythe assistance provider, how that information was displayed for theassistance provider, and the form in which it was communicated to thecaller. Unlike switch host computer 106, data servers 120 a save calldata concerning all requests made by a caller during one call todirectory assistance system 100, not just the most recent request, butonly for a predetermined period of time (illustratively, one hour).

Billing information is stored in the form of call records, which arecreated for each customer call into directory assistance system 100.They contain data such as the caller's telephone number, the date andtime of the caller's connection to directory assistance system 100, thedates and times of attempted connections to destination parties, theduration of each call leg, etc. A call record is updated each timedirectory assistance is rendered to the associated customer, and isclosed when the customer disconnects from directory assistance system100.

The software used to create and manipulate the databases on data servers120 a is known in the art of computer software and allows directoryassistance providers to search the databases by name, address, type ofgoods or services, geographical region, etc. In FIG. 1, switch hostcomputer 106 and data servers 120 a are depicted as distinct entities;in an alternative embodiment they are coterminous.

System servers 120 also include one or more voice servers (a first voiceserver 120 b is shown in FIG. 1) that provide, in alternativeembodiments of the invention, all or a subset of the operator functionsprovided by a live operator at operator position 114. For example, voiceservers store and deliver messages that live operators would otherwisebe required to frequently repeat for callers, such as greetings, closingmessages, and the caller's requested telephone number.

In an illustrative embodiment, depicted in FIG. 3, voice server 120 b isconnected to telephone switch 104 by voice server link 124 and to switchhost computer 106 and data servers 120 a via data network 122. Eachvoice server connects to telephone switch 104 via a separate voiceserver link. Voice server 120 b consists of a general purpose computerplus one or more voice cards (a first voice card 302 is depicted in FIG.3), which serve as the interface between voice server link 124 and voiceserver 120 b. Voice card 302 monitors and controls communications overvoice server link 124; its capabilities include telephone tone detectionand generation, voice recording and playback, and call progressanalysis. Therefore, very similar to telephone switch 104, voice server120 b is capable of detecting connection status conditions, detectingcustomer keypresses, and generating tones. Although FIG. 1 depicts voiceserver 120 b distinct from data servers 120 a, in alternativeembodiments they are coterminous.

Voice server 120 b also includes typical computer components such ascentral processing unit 304, data storage unit 306, and bus 310 fortransferring voice and data signals. Voice server 120 b may also containa voice recognition subsystem (not shown) for receiving verbal inputfrom a party connected to the voice server.

Voice server link 124 provides voice connections between telephoneswitch 104 and voice server 120 b, thus providing means by which callersmay be connected to voice server 120 b and receive automated operatorassistance. Voice server link 124, in an illustrative embodiment of theinvention, is comprised of one or more T1 spans, with each one of the 24channels of each span providing two-way communication.

Advanced Directory Assistance Services

When, as described below in connection with one method of implementingthis invention, the caller is connected to voice server 120 b after abusy signal or a ring-no-answer condition is detected, subsequentmonitoring of inbound channel 102 a and outbound channel 102 b isperformed by voice server 120 b; switch 104 continues to monitoroutbound channel 102 b to detect, for example, when the destinationtelephone is answered or disconnected. As mentioned above, voice server120 b contains voice card 302 which provides telephone signal detectionand generation capabilities comparable to those of telephone switch 104.By drawing upon these capabilities, directory assistance system 100 canoffer advanced directory assistance services to callers. Three servicesare of particular value, and directory assistance system 100 can beconfigured to automatically offer all, or a subset, of the threeservices to callers who encounter a busy signal or a ring-no-answercondition after the directory assistance system attempts to connect themto their destination parties.

The first service of particular interest serves to inform the caller ofthe telephone number retrieved in response to the caller's directoryassistance request. Illustratively, the caller will press the ‘#’ key toinvoke this service. In response, voice server 120 b conveys averbalization of each digit in the telephone number. Alternatively, thecaller may press another key, such as the ‘7’ key, to receive thedestination telephone number via his or her alphanumeric pager. Onemethod by which directory assistance system 100 may deliver thedestination telephone number to the caller's pager is by formatting amessage containing the information to be provided, sending the messageto a paging server maintained by the customer's service carrier, fromwhence it is sent across the carrier's paging network to the customer.The message may, alternatively, be received on another alphanumericcommunication device, such as the customer's wireless telephone. Themessage will typically be addressed to the customer's automaticnumbering identification (“ANI”) that was received with the customer'scall. The message passed to the customer will include the destinationtelephone number and may include further identification data such as thename and/or address of the destination party.

The second service allows a caller to leave a message for acurrently-unreachable destination party. Voice server 120 b records themessage provided by the caller and, at configurable time intervals inthe future, attempts to connect to the destination telephone. When asuccessful connection is established, the message is delivered. In apresent embodiment, if the successful connection is to a live person oran answering service, the answering person will be informed that amessage exists for a specified destination party and will be requestedto press a particular key to receive the message. After playing themessage, it may be played again. In this embodiment, if the successfulconnection is to an answering machine, the message will be played forthe machine to record, thus allowing the destination party to easilyretrieve it.

In an alternative embodiment of this service, the destination party willbe required to call directory assistance system 100 to retrieve themessage left for that party by the original caller. The party must enteran access code to retrieve the message, thus ensuring that privatemessages are adequately protected. If delivery or notification of thestored message is attempted for a predetermined number of times withoutsuccess, the message will be deleted and the failed delivery attemptwill be noted.

The third service of particular interest enables a destination party toreturn a calling party's call via a single keypress, and has particularvalue when used in conjunction with the second service. In such acombination, after voice server 120 b plays the message for thedestination party, the destination party may press a specified key toinitiate a call to the original caller. Voice server 120 b will handlethis as a normal outgoing call.

Method of Operation

One method of implementing the present invention is depicted in FIGS.4A-4E. As an initial process, switch host computer 106 is programmed atstep 400 with instructions for configuring and operating telephoneswitch 104 in accordance with the present invention. The instructionsare loaded in computer-readable form, as is known in the art.

A directory assistance call is received (step 402) by directoryassistance system 100 at T1 interface 230 of telephone switch 104 viainbound communication channel 102 a. A directory assistance call mayoriginate at virtually any telephone, whether wireless, portable, orstationary. In receiving the call, directory assistance system 100 alsoreceives data concerning the caller's identity, such as the caller'sANI, and the area of the call's origination, such as the originatingcell site. This information is used, as described below, to verify thatthe customer is authorized to connect to the desired destination partyvia directory assistance system 100.

Switch host computer 106 and data server 120 a commence (step 404) thecollection of call data, starting with the information listedimmediately above. The call data is updated as directory assistancesystem 100 takes action on behalf of the caller. Therefore, when acaller makes successive assistance requests, the directory assistanceprovider (i.e., a live operator or voice server 120 b) called upon tosatisfy each subsequent request can refer to information concerning thecaller's connection to directory assistance system 100 and theinformation provided in response to the caller's previous requests.

Switch host computer 106 determines (step 406) whether any directoryassistance operators are available. If no operators are immediatelyavailable, and the caller has not already been waiting (step 408) for anoperator, CPG 212 generates (step 410) a ringback tone across T1interface 230 to inform the calling customer that his or her call isbeing queued to await an available operator. Waiting calls are thenplaced (step 412) into an automatic call distribution queue (“ACDQ”),which is maintained by switch host computer 106 and constructed suchthat queued calls are routed to available operators in the order inwhich they were received. When one or more operators are available (step406), a queued call, or if no calls are queued then a new call, isconnected (step 414) to an available operator by switch 104 throughEXCPU/MXCPU 204 and operator channel 112. In one embodiment of theinvention, calls that are returned to an ACDQ due to an unsuccessfulattempt to complete an outgoing call are placed into a separate ACDQthat has a higher priority than the ACDQ that holds new calls.

Once connected to an operator, a greeting message is played (step 416)for the caller. In illustrative embodiments, the message may be livefrom an operator or recorded (in the voice of the operator to whom thecall is connected) and played back by voice server 120 b. Switch hostcomputer 106 directs the playback of recorded messages from voice server120 b by identifying the inbound channel 102 a and the operator withwhich the caller is connected and specifying the message that voiceserver 120 b is to play.

The caller typically then states (step 418) his or her directoryassistance request by identifying, as far as he or she is able, thedestination party he or she wishes to contact. The operator searchesdatabases of information (e.g., listings of private individuals andbusinesses), stored on data servers 120 a, for the appropriatedestination telephone number. Database records matching the caller'squery may be displayed on the inquiring operator's data terminal 118 ina variety of formats, such as alphabetical, random, etc. The operatorretrieves (step 420) the information most closely matching the caller'srequest.

Based on the destination telephone number retrieved by the operator, thecaller identification information received with the call by directoryassistance system 100, and call authorization data stored on dataservers 120 a, the operating software on the data servers attempts toverify (step 422) the caller's authorization to connect to thedestination telephone number through directory assistance system 100.For example, a caller may not be authorized to make long-distancetelephone calls on his or her account. When such a caller connects todirectory assistance system 100 from his or her home local calling area,the software simply determines whether the caller is trying to call adestination telephone number outside of the caller's local calling area.If, however, the caller is connected to directory assistance system 100from a calling area outside of his or her home local calling area, thesoftware uses the ANI received with the call, as well as the destinationtelephone number, to determine whether the caller is attempting to placea long-distance call.

If the caller is not authorized (step 422) to make the requested callthrough directory assistance system 100, the caller will merely beprovided with the destination telephone number (step 424). Additionally,the caller may only be authorized to receive information from directoryassistance system 100 (i.e., he or she may not place any calls throughthe system). In this situation, the caller could never advance furtherthan step 424.

If, however, authorization is verified (step 422), the operatorinitiates an outgoing call for the caller by seizing (step 426) outgoingcommunication channel 102 b from T1 interface 230 and outdialing (step428) the destination telephone number. Outdialing is a function oftelephone switch 104, whereby switch 104 transmits the destinationtelephone number after it is entered. Entry of the destination telephonenumber may be done manually by an operator (i.e., the operator keys thenumber in via operator telephone 116) or automatically by data server120 a (i.e., data server 120 a delivers the destination telephone numberto switch 104 after the number is identified by the operator).

Switch host computer 106 is notified of the outgoing call andautomatically instructs telephone switch 104 to apply (step 430) CPA 218to outbound channel 102 b and DTMF receiver 214 to inbound channel 102 aafter outdialing. Although a plurality of the programmable DSPs on MFDSPunit 210 are allocated and configured as CPAs and DTMF receivers, theyremain in a quiescent state until assigned to an outbound channel.Telephone switch 104 then connects (step 432) the calling customer oninbound channel 102 a to the outgoing call on outbound channel 102 b.

CPA 218 monitors the outgoing call on outbound channel 102 b for apredetermined number of rings, a predetermined amount of time, or untila specified connection status is detected. A successful call, in whichthe destination telephone is answered, is recognized by T1 interface 230of switch 104. Illustratively, T1 interface 230 identifies a successfulcall by detecting, on outbound channel 102 b, the bit transition thatoccurs when the destination telephone converts from an on-hook status toan off-hook status. The detection of a successful call is relayed toswitch host computer 106 by switch 104. In one telephone switchaccording to the invention, T1 interface 230 first notifies EXCPU/MXCPU204 of the successful call via TDM midplane 202. EXCPU/MXCPU 204 in turnnotifies switch host computer 106 via switch data link 108.

When an outgoing call is successfully completed (step 434), directoryassistance system 100 remains passively connected to the call. When thedestination telephone is disconnected (step 440), T1 interface 230detects another bit transition indicating that the destination telephonechanged from off-hook to on-hook, and switch 104 drops (step 442) CPA218 and DTMF receiver 214.

If and when the customer disconnects (step 444), whether before or afterthe called party disconnects, the customer's call is broken down and theconnection between the customer and directory assistance system 100 isterminated. If the caller does not disconnect from directory assistancesystem 100 within a configurable period of time after the called partydisconnects, voice server 120 b is connected (step 446) to the callervia voice server link 124. Voice server 120 b, utilizing thecapabilities of voice card 302, then commences (step 448) its own DTMFdetection and, substantially simultaneously, presents (step 450) thecaller with an audio menu of selected directory assistance options. Thecaller selects (step 452) an option by pressing the specified key,illustratively, the ‘#’ key to hear (step 454) a recitation of thedestination telephone number, the ‘*’ key to be connected (step 456) toa live operator at operator position 114, or the ‘7’ key to havedirectory assistance system 100 convey the destination telephone numberto the caller by transmitting (step 458) it to the caller's alphanumericpager or telephone. The customer's input is detected and identified byvoice card 302. Voice server 120 b performs the corresponding function,after which the caller may disconnect or return to step 450.

If, however, the call is unsuccessful (step 434), CPA 218 will detect(step 460) a telephone connection status condition such as ring tone,busy, reorder, PBX intercept, SIT intercept, vacant code, reorder-SIT,no circuit LEC, reorder-carrier, no circuit-carrier, dial tone,continuous on tone, or silence. Telephone switch 104 identifies (step462) the condition and notifies switch host computer 106. Subsequentaction depends upon which connection status condition was detected.

Busy Signal

If the detected condition is identified as a busy signal (step 462),telephone switch 104 drops (step 480) CPA 218 and DTMF receiver 214 fromoutbound channel 102 b and inbound channel 102 a, respectively, thenterminates (step 482) the outgoing call by releasing outbound channel102 b. Switch 104 then transfers (step 484) the caller to voice server120 b so that the caller can receive automated directory assistance. Inorder to transfer control of a call to voice server 120 b, telephoneswitch 104 connects inbound channel 102 a to voice server link 124. Asopposed to directory assistance systems in which a voice response unit(“VRU”), operating under the control of a switch host computer, ismerely conferenced or bridged onto a caller's connection with a switchor called parties, in the present embodiment of the invention not onlydoes the voice server connect to the customer's call into directoryassistance system 100, it also takes control over the customer's call.In order to route a call back to switch 104, either for transfer to alive operator or to re-dial a destination telephone number, voice server120 b simply sends a specified message to switch host computer 106 viadata network 122 identifying which inbound channel the caller is on.Switch host computer 106 then instructs switch 104 to direct the newcall attempt.

Along with the caller's connection, voice server 120 b receives (step486) the associated call data, described above, from switch hostcomputer 106 and data servers 120 a over data network 122. Voice server120 b then plays (step 488) a message to the caller, explaining that thedestination telephone is busy, and initiates (step 490) DTMF detectionon inbound channel 102 a, using voice card 302, in order to detect keyspressed by the caller.

Voice server 120 b presents (step 492) the caller with an audio menuoffering several directory assistance options. The caller chooses (step494) one by pressing the specified key, illustratively, the ‘#’ key tohave voice server 120 b recite (step 496) the dialed telephone number,the ‘*’ key to transfer (step 498) the caller to a live operator, the‘1’ key to record (step 500) a message for later delivery to thedestination party, the ‘2’ key to transfer (step 502) the call back toswitch 104 and attempt the same destination telephone number again (byresuming operation at step 424), or the ‘7’ key to receive (step 504)the destination telephone number via the caller's alphanumeric pager ortelephone. The caller's selection may, alternatively, be spoken into thecaller's telephone and received by a voice recognition subsystemassociated with, or contained within, voice server 120 b. Unless thecaller disconnected from directory assistance system 100, transferred,or recorded a message for later delivery, voice server 120 b willautomatically return to step 492 after performing the requestedfunction. For the times when a caller records a message for delivery tothe destination party, voice server 120 b can be configured to eitherreturn the caller to step 492 or terminate the caller's connection. Ifthe caller chooses to transfer to a live operator, telephone switch 104takes control of the call from voice server 120 b. If no operators arecurrently available, the caller hears a ringback tone generated by CPG212 and is placed into an ACDQ, as explained above.

When a directory assistance-connected caller is rerouted to a liveoperator after an unsuccessful call attempt, regardless of whatconnection status condition was encountered, the live operator receivessubstantially the same call data as voice server 120 b did in step 486.

Ring-No-Answer Condition

When a ring-no-answer condition is detected (step 462), it is desirableto allow sufficient time for the called party to answer the call, butyet also provide the calling party with options other than simplywaiting continuously for an answer. After telephone switch 104 drops(step 510) CPA 218 and DTMF receiver 214, it transfers (step 512) thecall to voice server 120 b, as described above in response to thereceipt of a busy signal. The ring tone received over outbound channel102 b is muted (step 514), and voice server 120 b receives (step 516)the associated call data from switch host 106 and data servers 120 a.Voice server 120 b then initiates (step 518) its own DTMF detection, viavoice card 302, in place of the counterparts dropped by switch 104 andpresents (step 520) the caller with an audio menu.

The audio menu presented in response to a ring-no-answer condition issimilar to that offered after a busy signal. The caller selects (step522) an option by pressing the specified key, illustratively, the ‘#’key to have voice server 120 b recite (step 524) the dialed telephonenumber, the ‘*’ key to transfer (step 526) the caller to a liveoperator, the ‘1’ key to continue monitoring (step 528) the outboundconnection for an answer by the destination party, the ‘2’ key to record(step 530) a message for later delivery to the destination party, or the‘7’ key to receive (step 532) the destination telephone number via thecaller's alphanumeric pager or telephone. The caller's selection may,alternatively, be spoken into the caller's telephone and received by avoice recognition subsystem associate with, or contained within, voiceserver 120 b. Unless the caller disconnected from directory assistancesystem 100, transferred, chose to continue monitoring outbound channel102 b, or recorded a message for later delivery, voice server 120 b willautomatically return to step 520 after performing the requestedfunction. When a caller records a message for delivery to thedestination party, voice server 120 b can be configured to either returnthe caller to step 520 or terminate the caller's connection. If thecaller chooses to transfer to a live operator, telephone switch 104takes control of the call from voice server 120 b. If no operators arecurrently available, the caller hears a ringback tone generated by CPG212 and is placed into an ACDQ, as explained above.

If the caller chooses the option of returning to the ring tone, voicecard 302 maintains its DTMF detection in order to allow the caller toconnect to a live operator by pressing the ‘*’ key. Unless thedestination telephone is answered or the ‘*’ key is pressed, directoryassistance system 100 simply maintains the ringing outbound connectionuntil the caller disconnects.

If the called party answers the telephone after the call is transferred(step 512) to voice server 120 b, T1 interface 230 in switch 104 detectsa bit transition on outbound channel 102 b, as described above. Switch104 then takes control of the call, terminates the connection to voiceserver 120 b over voice server link 124, and the caller and the calledparty are connected.

Network Communication Failure

Connection status conditions such as reorder, PBX intercept, SITintercept, vacant code, reorder-SIT, no circuit LEC, reorder-carrier, nocircuit-carrier, dial tone, continuous on tone, and silence indicate acommunication problem in the telephone network. In the event that one ofthese conditions is identified (step 462), subsequent action is quitedifferent from when a busy signal or ring-no-answer condition isdetected. Specifically, telephone switch 104 drops (step 464) CPA 218and DTMF receiver 214 and releases (step 466) outbound channel 102 b.Voice server 120 b is connected (step 468) to the caller, receives (step470) the associated call data, and informs (step 472) the caller that anetwork problem was encountered. The caller is then transferred (step474) to a live operator at operator position 114 and hears (step 476) areturn greeting message played by voice server 120 b. Note that thecaller was not required to take any action to be reconnected to a liveoperator; directory assistance system 100 automatically took thenecessary action. Subsequent activity resumes at step 418.

Various embodiments of the invention have been described. Thedescriptions are intended to be illustrative, not limitative. Thus, itwill be apparent to those skilled in the art that modifications may bemade to the invention as described without departing from the scope ofthe claims set out below.

1. A method far managing a call from a caller to an informationassistance service, the method comprising: receiving signals associatedwith the call which contain a calling telephone number, an account whichis associated with the calling telephone number being set up with theinformation assistance service, and which allows receipt of informationassistance and one or more types of call to be made; eliciting from thecaller an information assistance request; searching a database forresults responsive to the information assistance request, the resultsincluding a destination telephone number; determining that a connectionis to be made from a local calling area to a second calling area outsidethe local calling area, the second calling area being indicated by atleast a portion of the destination telephone number; determining whetherthe caller is authorized to have the connection made through theinformation assistance service based at least on data concerning an areafrom which the call originates, and the types of call allowed by theaccount, the data concerning the area being not derivable from thecalling telephone number; and making the connection when it isdetermined that the caller is authorized to have the connection made. 2.The method of claim 1 wherein the connection includes a long distanceconnection.
 3. The method of claim 1 wherein the information assistanceservice is provided by an operator.
 4. A method for managing a call froma caller to an information assistance service, the method comprising:receiving signals associated with thin call which contain a callingtelephone number, an account which is associated with the callingtelephone number being set up with the information assistance service,and which allows receipt of information assistance and one or more typesof call to be made; eliciting from the caller an information assistancerequest; in response to the information assistance request searching adatabase for a destination telephone number; determining whether thecaller is authorized to have a connection made through the informationassistance service to a calling area indicated by at least a portion ofthe destination telephone number, based at least on data concerning anarea from which the call originates, and the types of call allowed bythe account, the data concerning the area being not derivable from thecalling telephone number; and connecting the calling station to thecalled station when it is determined that the caller is authorized tohave the connection made.
 5. The method of claim 4 wherein the signalsinclude an automatic numbering identification (ANI) from which thecalling telephone number is derived.
 6. The method of claim 4 whereinthe connection includes a long distance connection.
 7. The method ofclaim 4 wherein the information assistance service is provided by anoperator.
 8. A method of providing an information assistance service toa customer, comprising: receiving signals in setting up a call from thecustomer through an inbound channel; based on the received signals,identifying a calling telephone number, an account which is associatedwith the calling telephone number being set up with the informationassistance service, and which allows receipt of information assistanceand one or more types of call to be made; eliciting an informationassistance request from the customer; in response to the informationassistance request, searching a database for a destination telephonenumber; determining that a connection is to be made from a local callingarea to a second calling area outside the local calling area, the secondcalling area being indicated by at least a portion of the destinationtelephone number; determining whether the customer is authorized to havethe connection made, based at least on data concerning an area fromwhich the call originates, and the types of call allowed by the account,the data concerning the area being not derivable from the callingtelephone number; allocating an outbound channel to establish aconnection to the destination telephone number when it is determinedthat the customer is authorized to have the connection made; dialing thedestination telephone number over the outbound channel; and connectingthe inbound channel to the outbound channel.
 9. The method of claim 8wherein the received signals contain information concerning an ANI. 10.The method of claim 8 wherein the information assistance service isprovided by an operator.
 11. A system for managing a call from a callerto an information assistance service, the system comprising: aninterface for receiving signals associated with the call which contain acalling telephone number, an account which is associated with thecalling telephone number being set up with the information assistanceservice, and which allows receipt of information assistance and one ormore types of call to be made, an information assistance request beingelicited from the caller; a database for looking up results responsiveto the information assistance request, the results including adestination telephone number; a controller for determining whether thecaller is authorized to have a connection made through the informationassistance service to a calling area indicated by at least a portion ofthe destination telephone number, based at least on data concerning anarea from which the call originates, and the types of call allowed bythe account, the data concerning the area being not derivable from thecalling telephone number; and a switching device for making theconnection when it is determined that the caller is authorized to havethe connection made.
 12. The system of claim 11 wherein the connectionincludes a long distance connection.
 13. The system of claim 11 whereinthe information assistance service is provided by an operator.